package com.jason.system.mapper;

import com.jason.system.entity.Tool;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author jie
 * @version 1.0
 * success come from self-discipline
 * @date 2021/3/26 20:00
 */
public interface ToolMapper {

  /**
   * 根据id获取工具信息
   * @param tid 工具id
   * @return Tool
   */
  Tool getToolById(@Param("tid") Integer tid);

  /**
   * 根据多个id获取工具
   * @param toolsId 工具ids
   * @return List<Tool>
   */
  List<Tool> getToolByIds(@Param("toolsId") List<Integer> toolsId);

  /**
   * 通过工具编号获取工具
   * @param toolNumber 工具编号
   * @return Tool
   */
  Tool getToolByNumber(@Param("toolNumber") String toolNumber);

  /**
   * 通过 工具编号模糊查找
   * @param toolName 工具名称
   * @return List<Tool>
   */
  List<Tool> getToolByName(@Param("toolName") String toolName);

  /**
   * 分页获取工具信息
   * @return List<Tool>
   */
  List<Tool> getAllTools();

  /**
   * 添加工具信息
   * @param tool 工具信息
   */
  void insertTool(@Param("tool") Tool tool);

  /**
   * 修改工具信息
   * @param tool 工具信息
   */
  void updateTool(@Param("tool") Tool tool);

  /**
   * 根据主键删除工具信息
   * @param tid 工具id
   */
  void deleteToolById(@Param("tid") Integer tid);

  /**
   * 批量删除工具信息
   * @param tIds
   */
  void deleteTools(@Param("tIds") List<Integer> tIds);
}
